﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TopVisionVideoStream.TopVisionCenter
{

    #region 用户

    /// <summary>
    /// 登录数据模型
    /// </summary>
    public class TVCUserLoginModel
    {
        public string username { get; set; }
        public string password { get; set; }
        public int platform { get; set; }
    }

    /// <summary>
    /// 查询企业密码
    /// </summary>
    public class TVCQuerycompanyinfoModel
    {
        /// <summary>
        /// Sip账户
        /// </summary>
        public string number { get; set; }
        /// <summary>
        /// Sip账户的密码
        /// </summary>
        public string password { get; set; }
    }



    #endregion


    #region 联系人

    /// <summary>
    /// 联系人
    /// </summary>
    public class TVCConferencesUsersModel
    {
        /// <summary>
        /// 企业ID
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 成员过滤[0:所有成员 1:在线成员]
        /// </summary>
        public string type { get; set; }

        /// <summary>
        /// Cookie
        /// </summary>
        public string cookie { get; set; }
    }

    #endregion


    #region 会议

    /// <summary>
    /// 发起会议
    /// </summary>
    public class TVCConferenceCallModel
    {
        /// <summary>
        /// 企业编号，保存在系统的唯一编号
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 会议大画面号码
        /// </summary> 
        public string calling { get; set; }
        /// <summary>
        /// 会议其它参与方号码
        /// </summary>
        public string called { get; set; }
        /// <summary>
        /// 呼叫模式 0_不需要录像 1_MP4格式录像
        /// </summary>
        public string callmode { get; set; }
        /// <summary>
        /// 视频会议屏幕模式，默认为1： 0直播模式 1两方视频通话（音量大的自动为主画面） 2等大画面视频会议 3一大多小画面视频会议
        /// </summary>
        public string screenmode { get; set; }
        /// <summary>
        /// 视频会议多画面时，最大显示方数（目前支持1-9），默认为9
        /// </summary>
        public string picnum { get; set; }
        /// <summary>
        /// 会议名称
        /// </summary>
        public string title { get; set; }
        /// <summary>
        /// 会议直播推流地址
        /// </summary>
        public string rtmppush { get; set; }

        /// <summary>
        /// 故障编号
        /// </summary>
        public string failureNumber { get; set; }
    }

    /// <summary>
    /// 视频会议控制-增加参与方
    /// </summary>
    public class TVCConferencesConfctrladdModel
    {
        /// <summary>
        /// 企业编号，保存在系统的唯一编号
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 增加的号码列表，用^分割，每次最多增加6个参与方
        /// </summary>
        public string calling { get; set; }
        /// <summary>
        /// 会议id
        /// </summary>
        public string confid { get; set; }

        public string called { get; set; }
    }

    /// <summary>
    /// 视频会议控制-减少参与方
    /// </summary>
    public class TVCConferencesConfctrldelModel
    {
        /// <summary>
        /// 企业编号，保存在系统的唯一编号
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 需要退出会议的参与方
        /// </summary>
        public string calling { get; set; }
        /// <summary>
        /// 会议id
        /// </summary>
        public string confid { get; set; }
    }

    /// <summary>
    /// 视频会议控制-结束会议
    /// </summary>
    public class TVCConferencesConfctrlhaltModel
    {
        /// <summary>
        /// 
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string confid { get; set; }
    }

    /// <summary>
    /// 查询会议成员状态
    /// </summary>
    public class TVCConferencesConfGetconfmemberinfoModel
    {
        /// <summary>
        /// 企业编号，保存在系统的唯一编号
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 会议id
        /// </summary>
        public string confid { get; set; }
        /// <summary>
        /// 只返回这种状态的成员信息 0：邀请中 1：已加入 2：已退出 3：踢出中， 不填则查询所有成员信息
        /// </summary>
        public string status { get; set; }
        /// <summary>
        /// Cookie
        /// </summary>
        public string cookie { get; set; }
    }

    /// <summary>
    /// 会议房间
    /// </summary>
    public class TVCConferenceQueryroomsModel
    {
        /// <summary>
        /// 企业ID
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 会议id
        /// </summary>
        public string confid { get; set; }
        /// <summary>
        /// 0是未开始，1是会议中，2是已结束
        /// </summary>
        public string status { get; set; }
        /// <summary>
        /// Cookie
        /// </summary>
        public string cookie { get; set; }
    }

    /// <summary>
    /// 查询单个会议信息
    /// </summary>
    public class TVCConferenceGetconfinfobyidModel
    {
        /// <summary>
        /// 企业ID
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 会议id
        /// </summary>
        public string confid { get; set; }
        /// <summary>
        /// 0是未开始，1是会议中，2是已结束
        /// </summary>
        public string status { get; set; }
        /// <summary>
        /// 会议召开时间
        /// </summary>
        public string time { get; set; }
        /// <summary>
        /// Cookie
        /// </summary>
        public string cookie { get; set; }
    }

    /// <summary>
    /// 查询会议状态
    /// </summary>
    public class TVCConferenceGetconfinfoModel
    {
        /// <summary>
        /// 企业ID
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 	会议id，若不传入则查询该企业下的全部号码会议
        /// </summary>
        public string confid { get; set; }
        /// <summary>
        /// 会议召开开始时间, 格式YYYY.MM.DD hh:mm:ss
        /// </summary>
        public string begintime { get; set; }
        /// <summary>
        /// 会议召开结束时间, 格式YYYY.MM.DD hh:mm:ss
        /// </summary>
        public string endtime { get; set; }
        /// <summary>
        /// 可选条件，0是未开始，1是会议中，2是已结束
        /// </summary>
        public string status { get; set; }
        /// <summary>
        /// Cookie
        /// </summary>
        public string cookie { get; set; }

    }

    /// <summary>
    /// 视频会议控制-控制静音哑音
    /// </summary>
    public class TVCConferenceConfsilenceModel
    {
        /// <summary>
        /// 企业ID
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 会议id
        /// </summary>
        public string confid { get; set; }
        /// <summary>
        /// 操作方号码
        /// </summary>
        public string calling { get; set; }
        /// <summary>
        /// 1-哑音;2-取消哑音;9-静音;10-取消静音
        /// </summary>
        public string operation { get; set; }
    }

    /// <summary>
    /// 视频会议控制-设置画面布局
    /// </summary>
    public class TVCConferenceConfscreenModel
    {
        /// <summary>
        /// 企业ID
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 会议id
        /// </summary>
        public string confid { get; set; }
        /// <summary>
        /// 1：单画面， 2，等大画面， 3，一大多小画面
        /// </summary>
        public string screenmode { get; set; }
    }

    /// <summary>
    /// 视频会议控制-控制播放视频文件
    /// </summary>
    public class TVCConferenceConfplayfileModel
    {
        /// <summary>
        /// 企业ID
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 会议id
        /// </summary>
        public string confid { get; set; }
        /// <summary>
        /// 播放的外部文件路径或url
        /// </summary>
        public string playfile { get; set; }
    }

    /// <summary>
    /// 视频会议控制-视频会议广播消息
    /// </summary>
    public class TVCConferenceConfmsgModel
    {
        /// <summary>
        /// 企业ID
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 会议id
        /// </summary>
        public string confid { get; set; }
        /// <summary>
        /// 群发的消息内容
        /// </summary>
        public string content { get; set; }
    }

    /// <summary>
    /// 视频会议控制-设置大画面
    /// </summary>
    public class TVCConferenceConfctrlviewModel
    {
        /// <summary>
        /// 企业ID
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 会议id
        /// </summary>
        public string confid { get; set; }
        /// <summary>
        /// 作为主画面的参与方号码
        /// </summary>
        public string calling { get; set; }
    }




    #endregion


    #region 视频

    /// <summary>
    /// 回看视频
    /// </summary>
    public class TVCConferenceVideosModel
    {
        /// <summary>
        /// 企业ID
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 会议id，若不传入则查询该企业下的全部号码会议
        /// </summary>
        public string confid { get; set; }
        /// <summary>
        /// 0是未开始，1是会议中，2是已结束
        /// </summary>
        public string status { get; set; }
        /// <summary>
        /// Cookie
        /// </summary>
        public string cookie { get; set; }
        /// <summary>
        /// Gets or sets the pageindex.
        /// </summary>
        /// <value>
        /// The pageindex.
        /// </value>
        public int pageindex { get; set; }
        /// <summary>
        /// Gets or sets the pagesize.
        /// </summary>
        /// <value>
        /// The pagesize.
        /// </value>
        public int pagesize { get; set; }
    }


    #endregion


    #region 管理

    /// <summary>
    /// 上传文件
    /// </summary>
    public class TVCManageUploadfileModel
    {
        /// <summary>
        /// 企业ID
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 用户登录账号
        /// </summary>
        public string loginname { get; set; }
        /// <summary>
        /// 文件名[包含后缀名]
        /// </summary>
        public string filename { get; set; }
        ///// <summary>
        ///// 文件元数据
        ///// </summary>
        //public string file { get; set; }
    }


    /// <summary>
    /// 检查最新版本
    /// </summary>
    public class TVCManagerVersionCheckModel
    {
        public string packageName { get; set; }
    }

    public class TVCManagerInsertvideodataModel
    {
        public string companyid { get; set; }
        public string confid { get; set; }
        public string zwannumber { get; set; }
        public string uplinkvoice { get; set; }
        public string downlinkvoice { get; set; }
        public string uplinkvideo { get; set; }
        public string downlinkvideo { get; set; }
        public string avgframerat { get; set; }
        public string avgbitrate { get; set; }
        public string upresolution { get; set; }
        public string downresolution { get; set; }
    }

    #endregion

}
